#pragma once
#ifndef SCRIPT__LOG_OUTPUT__HH__
#define SCRIPT__LOG_OUTPUT__HH__

#include <qboxlayout.h>
#include <qplaintextedit.h>
#include <qdatetime.h>
#include <map>
#include <OgreLog.h>

namespace Lit
{
	namespace Editor
	{
		class ScriptLogOutput : public QPlainTextEdit, public Ogre::LogListener
		{
		public:
			ScriptLogOutput( QWidget * parent = NULL );
			~ScriptLogOutput();

			void messageLogged( const Ogre::String& message, Ogre::LogMessageLevel lml, bool maskDebug, const Ogre::String &logName )
			{
				add( std::string(maskDebug?"[DEBUG] ":"") + message );
			}
			
			QString timeStamp() const;

			void add( const std::string &message );
		};
	};
}

#endif